package cn.wen.bases.framework.struts.interceptor;

import cn.wen.bases.framework.spring.TokenOfSpring;
import cn.wen.bases.framework.spring.UtilsOfSpring;
import cn.wen.bases.framework.struts.action.Action;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

/**
 * Title：可信访问校验拦截器
 * <p>
 * Description：对访问用户进行鉴权
 * <p>
 * Copyright：Copyright (c) 2010-2012
 * 
 * @author <a href="mailto:ct_wen@qq.com">ctwen</a>, 温承瑭
 * @version Revision：1.0 Date：2010/11/15 Description：初完成。
 *          <p>
 *          Revision：1.1 Date：2012/4/22 Description：实现有效验证，对任何进入本拦截器的请求进行客户端操作有效验证，若未通过则要求重新登录。
 *          <p>
 */
public class AuthInterceptor extends AbstractInterceptor {

    private static final long serialVersionUID = 5201901708198061263L;

    /**
     * <pre>
     * 可信访问校验。
     * </pre>
     * 
     * @see com.opensymphony.xwork2.interceptor.AbstractInterceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
     */
    @Override
    public String intercept(ActionInvocation ai) throws Exception {
	if (null == UtilsOfSpring.getBean(TokenOfSpring.LOGIN_USER_TOKEN)) {
	    ai.getStack().set("feedback", "请登入系统后再进行操作。");
	    return Action.LOGIN_FAILRE;
	}
	return ai.invoke();
    }

}
